"""
必须要求：
键盘输入两个数字，对输入的两个数进行一次加减乘除中的操作，并且输出结果。
自己确定怎么进行输入和输出。

支持重复操作，支持用户自己退出，不使用try的方式判断是否输入的是浮点数。
"""


def is_numeric(num):
    if num.isdigit():
        return True
    # 判断是否是浮点数，只能判断常规浮点数。
    s = num.split('.')
    if len(s) > 2:
        return False
    else:
        for si in s:
            if not si.isdigit():
                return False
        return True


print("计算器plus正在启动")

while True:
    user_input = input("请输入二元表达式，如1 + 1，2 / 3，（空格分离）（输入 'q' 退出）：")
    if user_input == 'q':
        print("退出程序。")
        break
    elif user_input == '':
        continue
    else:
        parts = user_input.split()
        if len(parts) != 3:
            print("不合规则的表达式")
            continue
        if is_numeric(parts[0]) and is_numeric(parts[2]):
            num1 = float(parts[0])
            num2 = float(parts[2])
        else:
            print("请输入合法的数字")
            continue

        op = parts[1]

        if op == '+':
            print(num1 + num2)
        elif op == '-':
            print(num1 - num2)
        elif op == '*':
            print(num1 * num2)
        elif op == '/':
            if num2 == 0:
                print("0不能作为除数。")
                continue
            print(num1 / num2)
